package day1.hoemwork;

import java.io.File;
import java.util.HashMap;
import java.util.Scanner;

//键盘录入一个文件夹路径,统计该文件夹(不包含子文件夹)中,每种类型的文件及个数,
//	注意:用文件类型("java","txt"...)作为key,用个数作为value,
//	放入到map集合中,并按照如下格式打印map集合中的内容
//		docx类型的文件有  1 个
//		java类型的文件有  24 个
//		txt类型的文件有  10 个
public class Test3 {
    public static void main(String[] args) {
        System.out.println("输入需要统计文件的地址");
        Scanner sc = new Scanner(System.in);
        String path = sc.next();
        File file = new File(path);
        HashMap<String, Integer> hm = new HashMap<>();
        getcount(hm, file);
        System.out.println(hm);
    }

    private static void getcount(HashMap<String, Integer> hm, File file) {
        File[] files = file.listFiles();
        for (File f : files) {
            String filename = f.getName();
            String[] split = filename.split("\\.");
            if (split.length == 2) {
                String fileEndName = split[1];
                if (hm.containsKey(fileEndName)) {
                    Integer count = hm.get(fileEndName);
                    count++;
                    hm.put(fileEndName, count);
                } else {// 没出现过,将这种类型文件的后缀名存入集合中,次数存1
                    hm.put(fileEndName, 1);
                }
            } else {
                getcount(hm, f);
            }
        }
    }
}
